package cloudUser.service;

import cloudEntity.dto.user.SmartUserDTO;
import cloudEntity.dto.user.SmartUserRegisterDTO;
import cloudEntity.entity.SmartUserEntity;
import cloudEntity.vo.PageBeanVO;
import cloudEntity.vo.user.SmartUserLoginVO;
import cloudEntity.vo.user.SmartUserVO;
import jakarta.servlet.http.HttpServletRequest;

/**
 * @program: Smart School
 * @ClassName SmartUserService
 * @description:
 * @author: 陈智博
 * @create: 2025-04-06 14:20
 * @Version 1.0
 **/
public interface SmartUserService {

    /**
     * 登录 接口
     * @param smartUserDTO 登录 的 dto;
     * @return 返回 登录 的 vo 给 客户端;
     */
    SmartUserLoginVO login(SmartUserDTO smartUserDTO,
                           HttpServletRequest request);

    /**
     * 分页查询用户 接口
     * @param type 根据 类型 查询
     * @param pageNum 页码
     * @param pageSize 一页大小
     * @return 返回 用户 数据。
     */
    PageBeanVO<SmartUserVO> GetSmartUserReturnPage(Integer type,
                                                   Integer pageNum,
                                                   Integer pageSize);

    /**
     * 用户注册
     * @param smartUserRegisterDTO 用户注册DTO
     * @return 返回 1 / 0
     */
    Integer RegisterUser(SmartUserRegisterDTO smartUserRegisterDTO);
}
